Bug fixes from Kevin (x2) and Anthony
authordjm@kirby.fc.hp.com <djm@kirby.fc.hp.com>
Fri, 2 Sep 2005 17:59:08 +0000 (11:59 -0600)
committerdjm@kirby.fc.hp.com <djm@kirby.fc.hp.com>
Fri, 2 Sep 2005 17:59:08 +0000 (11:59 -0600)
Missing prototypes (Kevin)
Bad n_rid_blocks computation (Anthony)
Bad pte when single-entry dtlb lookup is successful (Kevin)

xen/arch/ia64/xen/regionreg.c
xen/arch/ia64/xen/vcpu.c
xen/include/asm-ia64/mm.h

index 974f380efbb300a6ccdbf8ac82d95eb6ff1ba303..c845310c5f851bcc2d53ef8ecf973c4e75acc1bb 100644 (file)
@@ -116,7 +116,7 @@ int allocate_rid_range(struct domain *d, unsigned long ridbits)
        ridbits = IA64_MIN_IMPL_RID_BITS;
 
        // convert to rid_blocks and find one
-       n_rid_blocks = ridbits - IA64_MIN_IMPL_RID_BITS + 1;
+       n_rid_blocks = 1UL << (ridbits - IA64_MIN_IMPL_RID_BITS);
        
        // skip over block 0, reserved for "meta-physical mappings (and Xen)"
        for (i = n_rid_blocks; i < MAX_RID_BLOCKS; i += n_rid_blocks) {
index 55af8a49e493c612bca22b3e4df1dcc73b2364f6..3f1848fab5f02905d61aa259f0c6923da0a260a9 100644 (file)
@@ -1315,7 +1315,8 @@ IA64FAULT vcpu_translate(VCPU *vcpu, UINT64 address, BOOLEAN is_data, UINT64 *pt
        /* check 1-entry TLB */
        if ((trp = match_dtlb(vcpu,address))) {
                dtlb_translate_count++;
-               *pteval = trp->page_flags;
+               //*pteval = trp->page_flags;
+               *pteval = trp->arch.dtlb_pte;
                *itir = trp->itir;
                return IA64_NO_FAULT;
        }
index 7ca312492684a01f8cd81d2cec07e634a21aa92b..36e8a699ea3529bf0761907f2be05e0b04e41e1d 100644 (file)
@@ -212,6 +212,12 @@ void memguard_unguard_range(void *p, unsigned long l);
 #define memguard_unguard_range(_p,_l)  ((void)0)
 #endif
 
+// prototype of misc memory stuff
+unsigned long __get_free_pages(unsigned int mask, unsigned int order);
+void __free_pages(struct page *page, unsigned int order);
+void *pgtable_quicklist_alloc(void);
+void pgtable_quicklist_free(void *pgtable_entry);
+
 // FOLLOWING FROM linux-2.6.7/include/mm.h
 
 /*